An Algebraic Framework for Parallelizing Recurrence in Functional Programming
نویسندگان
چکیده
The main challenge faced by automatic parallelization tools in functional languages is the fact that parallelism is often hidden under the syntax of complex recursive functions. In this paper, we propose an algebraic framework for parallelizing – automatically – two special classes of recursive functions. We show that these classes are comprehensive enough to include several well-known instances. We have used our ideas to implement a source-to-source compiler in Python to parallelize Haskell code. We have applied this prototype onto six different recursive functions, achieving, on a 4-core machine, speedups of up to 2.7x.
منابع مشابه
A Unified Symbolic Evaluation Framework for Parallelizing Compilers
The quality of many optimizations and analyses of parallelizing compilers depends signiicantly on the ability to evaluate symbolic expressions and on the amount of information available about program variables at arbitrary program points. In this paper, we describe an eeective and uniied symbolic evaluation framework that statically determines the values of variables and symbolic expressions, a...
متن کاملMeasuring the Effectiveness of Partial Evaluation in Functional Logic Languages
We introduce a framework for assessing the effectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number of ...
متن کاملMeasuring the E ectiveness of PartialEvaluation in Functional Logic
We introduce a framework for assessing the eeectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any speciic language implementation or computing environment. We deene several criteria for measuring the cost of a computation: number of ste...
متن کاملA Formal Approach to Reasoning about theE ectiveness of Partial
We introduce a framework for assessing the eeectiveness of partial evaluators in functional logic languages. Our framework is based on properties of the rewrite system that models a functional logic program. Consequently, our assessment is independent of any speciic language implementation or computing environment. We deene several criteria for measuring the cost of a computation: number of ste...
متن کاملMeasuring the Effectiveness of Partial Evaluation
We introduce a framework for assessing the effectiveness of partial evaluators for functional logic programs. Our framework is based on properties of the rewrite system that models a functional logic program and, consequently, our assessment is independent of any specific language implementation or computing environment. We define several criteria for measuring the cost of a computation: number...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016